#include "Factory.h"

void factoryProduce(AbstractFactory *factory)
{
    Color *color = factory->getColor();
    Shape *shape = factory->getShape();

    color->fill();
    shape->draw();
}

int main(int argc, char *argv[])
{
    AbstractFactory *factory1 = new ConcreteFactory1();
    AbstractFactory *factory2 = new ConcreteFactory2();

    factoryProduce(factory1);
    factoryProduce(factory2);
    return 0;
}